package com.service.user;

import com.entity.GoodCollectionItem;

import java.util.List;

public interface CollectionService {
  /**
   * 判断商品编号为goodId的商品是否在编号为userId的用户的收藏列表中
   *
   * @param userId 用户编号
   * @param goodId 商品编号
   * @return 是返回1，不是返回0
   */
  int isGoodInMyCollection(String userId, String goodId);

  /**
   * 将商品编号为goodId的商品添加到编号为userId的用户的收藏列表中
   *
   * @param userId 用户编号
   * @param goodId 待添加到商品收藏列表的商品编号
   * @return 添加成功返回1，否则返回0（如果已经在收藏中就会失败)
   */
  int addGoodToGoodsCollection(String userId, String goodId);

  /**
   * 获取用户编号为userId的用户的第pageIndex页的收藏商品条目列表
   *
   * @param userId 用户编号
   * @param pageSize 页大小
   * @param pageIndex 第几页(从0开始)
   * @return 对应页的商品收藏列表
   */
  List<GoodCollectionItem> getGoodsCollectList(String userId, int pageSize, int pageIndex);

  /**
   * 删除用户编号为userId的用户的编号为goodId的商品收藏条目
   *
   * @param userId 用户编号
   * @param goodId 待删除条目的商品编号
   * @return 删除成功返回1 否则返回0
   */
  int delGoodsCollectionItem(String userId, String goodId);

  /**
   * 获取收藏条目数量
   *
   * @param userId 用户编号
   * @return 收藏条目数量
   */
  int getGoodCollectionCount(String userId);
}
